//
//  NSDate-Extension.swift
//  Stauts
//
//  Created by Kylin on 16/3/19.
//  Copyright © 2016年 Kylin. All rights reserved.
//

import Foundation

extension NSDate {
    
    // 以class 开头为类扩冲类方法
    class func createTimeString(createTimeString : String) -> String {
    
        //1: 创建时间格式化对象
        let formatter = NSDateFormatter()
        
        //2:设置对象的格式
        formatter.dateFormat = "EEE MM dd HH:mm:ss Z yyyy"
        formatter.locale = NSLocale(localeIdentifier: "en") // 时间场所
        
        //3:将字符串转换成时间
        guard let createDate = formatter.dateFromString(createTimeString) else {
            return ""
        }
        
        // 4.获取当前的时间
        let nowDate = NSDate()
        
        // 5.获取当前时间和创建时间之间的时间差
        let intervalTime = Int (nowDate.timeIntervalSinceDate(createDate))
        
        // 6:如果一分内
        if intervalTime < 60 {
            return "刚刚"
        }
        
         // 7.如果是一小时之内
        if intervalTime < 60 * 60 {
            return "\(intervalTime / 60)分钟前"
        }
        
        // 8.一天之内
        if intervalTime < 60 * 60 * 24 {
            return"\(intervalTime / 60 / 60)小时前"
        }
        
        // 9.创建日历对象
        let calendar = NSCalendar.currentCalendar()
        
        // 10:判断是否是在昨天
        if calendar.isDateInYesterday(createDate) {
            formatter.dateFormat = "HH:mm"
            let timeString = formatter.stringFromDate(createDate)
            return "昨天 \(timeString)"
        }
        
         // 11.判断一年之内
        let comps = calendar.components(.Year, fromDate: createDate, toDate: nowDate, options: [])
        
        if comps.year < 1 {
            formatter.dateFormat = "MM-dd HH:mm"
            let timeSting = formatter.stringFromDate(createDate)
            
            return timeSting
        }
        // 12.大于一年
        formatter.dateFormat = "yyyy-MM-dd HH-mm"
        let timeString = formatter.stringFromDate(createDate)
        return timeString
        
    }
    
}
